General Algebraic Modeling System
GAMS | |
---|---|
Basisdaten
| |
Entwickler | GAMS Development Corporation |
Erscheinungsjahr | 1976 |
Aktuelle Version | 47.2.0[1] (1. Juli 2024) |
Betriebssystem | Plattformunabhängig |
Kategorie | Algebraische Modellierungssprache |
Lizenz | Proprietär |
www.gams.com |
Das General Algebraic Modeling System ist eine algebraische Modellierungssprache für mathematische Optimierungsprobleme, deren Ursprünge in einem Forschungsprojekt der Weltbank liegen. Ab 1987 wird das System durch die GAMS Development Corp., USA, weiterentwickelt und in Europa durch die GAMS Software GmbH vertrieben.
Neben großen linearen bzw. ganzzahligen Optimierungsproblemen lassen sich mit algebraischen Modellierungssprachen wie GAMS oder AMPL auch andere Modellierungssprobleme, wie etwa nichtlineare, gemischtganzzahlig nichtlineare, quadratische, stochastische oder globale Optimierungsprobleme grundsätzlich unabhängig von den verwendeten Algorithmen effizient formulieren und lösen. Die grundsätzliche Trennung der Ebenen
- Problemrepräsentation und -lösung,
- Modellierungsebene und Benutzeroberfläche,
- Modellformulierung und Daten,
- Modellformulierung und Betriebssystem,
sowie umfangreiche Modellbibliotheken stellen weitere Elemente von algebraischen Modellierungssprachen dar.
Die Einsatzschwerpunkte des GAMS-Systems liegen in den klassischen Operations-Research-Bereichen. Daneben wird das System auch häufig für makroökonomische Fragestellungen etwa im Rahmen von Gleichgewichtsmodellen verwendet.
Modellbeispiel
[Bearbeiten | Quelltext bearbeiten]Transportmodell von George Dantzig. Dieses Modell ist Teil der GAMS-Modellbibliothek. In diesem Problem wird der Transportplan mit den niedrigsten Gesamtkosten gesucht, der sowohl die Marktbedingungen der Abnehmer als auch die der Produzenten erfüllt.[2]
Sets i canning plants / seattle, san-diego / j markets / new-york, chicago, topeka / ; Parameters a(i) capacity of plant i in cases / seattle 350 san-diego 600 / b(j) demand at market j in cases / new-york 325 chicago 300 topeka 275 / ; Table d(i,j) distance in thousands of miles new-york chicago topeka seattle 2.5 1.7 1.8 san-diego 2.5 1.8 1.4 ; Scalar f freight in dollars per case per thousand miles /90/ ; Parameter c(i,j) transport cost in thousands of dollars per case ; c(i,j) = f * d(i,j) / 1000 ; Variables x(i,j) shipment quantities in cases z total transportation costs in thousands of dollars ; Positive Variable x ; Equations cost define objective function supply(i) observe supply limit at plant i demand(j) satisfy demand at market j ; cost .. z =e= sum((i,j), c(i,j)*x(i,j)) ; supply(i) .. sum(j, x(i,j)) =l= a(i) ; demand(j) .. sum(i, x(i,j)) =g= b(j) ; Model transport /all/ ; Solve transport using lp minimizing z ; Display x.l, x.m ;
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Literatur
[Bearbeiten | Quelltext bearbeiten]- Anthony Brooke, David Kendrick, Alexander Meeraus: Gams: A User’s Guide. Tutorial by Rick Rosenthal. GAMS Development Corporation, Washington, DC, USA 2010 (gams.com [PDF]).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- GAMS Development Corp. (englisch)
- GAMS World
- GAMS Support Wiki
- GAMS-Mailing List (GAMS-L)
- Detaillierte Beschreibung der Formulierung des beispielhaften Transportproblems (englisch)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ www.gams.com.
- ↑ George B. Dantzig: Linear Programming and Extensions. Princeton University Press, Princeton 2016, ISBN 978-1-4008-8417-9, 3.3. A Transportation Problem, S. 35 (books.google.de – Erstausgabe: 1963, Leseprobe).